package controller

import (
	model "carmanager/models"
	"carmanager/server"
	"carmanager/util"
	"fmt"
	"strings"

	"github.com/gin-gonic/gin"
)

var (
	service = server.LoginService{}
)

type LoginController struct {
}

func (c *LoginController) Login(ctx *gin.Context) {
	admin := ctx.Query("username")
	password := ctx.Query("password")
	if strings.EqualFold(admin, "") || strings.EqualFold(password, "") {
		util.Error(ctx, int(util.ApiCode.FAILED), "账号或者密码不为空")
		return
	}
	res, token := service.Login(admin, password)
	if !res {
		util.Error(ctx, int(util.ApiCode.FAILED), "账号或者密码错误")
		return
	}

	util.Success(ctx, token)
}

func (c *LoginController) Regist(ctx *gin.Context) {
	var json model.User
	// 将request的body中的数据，自动按照json格式解析到结构体

	if err := ctx.ShouldBindJSON(&json); err != nil {
		fmt.Print(err)
		util.Error(ctx, int(util.ApiCode.FAILED), "参数错误")
		return
	}

	if !service.AddUser(json) {
		util.Error(ctx, int(util.ApiCode.FAILED), "当前用户已经存在！")
		return
	}

	util.Success(ctx, "注册成功")

}
